package br.com.rrf;

import java.util.ArrayList;
import java.util.List;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

public class ProdutosDB {

private DBHelper helper;
	
	public ProdutosDB(Context contexto){
		helper = new DBHelper(contexto);
	}
	
	public long inserir(Produto produto){
		SQLiteDatabase db = helper.getWritableDatabase();
		
		ContentValues values = prepararParaInserir(produto);
		
		long id = db.insert("produto", null, values);
		produto.setId(id);
		
		db.close();
		
		return id;
	}
	
	private ContentValues prepararParaInserir(Produto produto) {
		ContentValues values = new ContentValues();
		values.put("nome", produto.getNome());
		values.put("valor", produto.getValor());
		return values;
	}
	
	public List<Produto> listarProdutos() {
		List<Produto> produtos = new ArrayList<Produto>();
		
		SQLiteDatabase db = helper.getWritableDatabase();
				
		Cursor cursor = db.rawQuery("select * from produto", null);
		
		while(cursor.moveToNext()) {
			Produto produto = prepararProduto(cursor);
			produtos.add(produto);
		}
		
		cursor.close();
		
		db.close();
		
		return produtos;
	}
	
	private Produto prepararProduto(Cursor cursor) {
		long id = cursor.getLong(0);
		String nome = cursor.getString(1);
		double valor = cursor.getDouble(2);
		
		return new Produto(id, nome, valor);
	}
	
}
